Effective Techniques for Stateless Model Checking

نویسنده

  • Stavros Aronis
چکیده

Aronis, S. 2018. Effective Techniques for Stateless Model Checking. Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology 1602. 56 pp. Uppsala: Acta Universitatis Upsaliensis. ISBN 978-91-513-0160-0. Stateless model checking is a technique for testing and verifying concurrent programs, based on exploring the different ways in which operations executed by the processes of a concurrent program can be scheduled. The goal of the technique is to expose all behaviours that can be a result of scheduling non-determinism. As the number of possible schedulings is huge, however, techniques that reduce the number of schedulings that must be explored to achieve verification have been developed. Dynamic partial order reduction (DPOR) is a prominent such technique. This dissertation presents a number of improvements to dynamic partial order reduction that significantly increase the effectiveness of stateless model checking. Central among these improvements are the Source and Optimal DPOR algorithms (and the theoretical framework behind them) and a technique that allows the observability of the interference of operations to be used in dynamic partial order reduction. Each of these techniques can exponentially decrease the number of schedulings that need to be explored to verify a concurrent program. The dissertation also presents a simple bounding technique that is compatible with DPOR algorithms and effective for finding bugs in concurrent programs, if the number of schedulings is too big to make full verification possible in a reasonable amount of time, even when the improved algorithms are used. All improvements have been implemented in Concuerror, a tool for applying stateless model checking to Erlang programs. In order to increase the effectiveness of the tool, the interference of the high-level operations of the Erlang/OTP implementation is examined, classified and precisely characterized. Aspects of the implementation of the tool are also described. Finally, a use case is presented, showing how Concuerror was used to find bugs and verify key correctness properties in repair techniques for the CORFU chain replication protocol.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Stateless Code Model Checking of Information Flow Security

Observational determinism is a security property that characterizes secure information flow for multithreaded programs. Most of the methods that have been used to verify observational determinism are based on either type systems or conventional model checking techniques. A conventional model checker is stateful and often verifies a system model usually constructed manually. As these methods are...

متن کامل

DSCMC: Distributed Stateless Code Model Checker

Stateless code model checking is an effective verification technique, which is more applicable than stateful model checking to the software world. Existing stateless model checkers support the verification of neither LTL formulae nor the information flow security properties. This paper proposes a distributed stateless code model checker (DSCMC) designed based on the Actor model, and has the cap...

متن کامل

A New Approach to Stateless Model Checking of LTL Properties

Stateless model checking is an appropriate model checking technique for software verification. Existing stateless model checkers do not support the verification of linear temporal logic (LTL) because the existing algorithms of verifying LTL formulae are state-based, while stateless model checkers do not store any program states. This paper proposes a novel approach to stateless model checking o...

متن کامل

Undecidability of model-checking branching-time properties of stateless probabilistic pushdown process

In this paper, we settle a problem in probabilistic verification of infinite–state process (specifically, probabilistic pushdown process). We show that model checking stateless probabilistic pushdown process (pBPA) against probabilistic computational tree logic (PCTL) is undecidable.

متن کامل

The complexity of model-checking of stateless probabilistic pushdown processes against PCTL

In this draft, we settle a problem in probabilistic verification of infinite–state processes (probabilistic pushdown systems). We show that model checking stateless probabilistic pushdown systems (pBPA) against probabilistic computational tree logic (PCTL) is undecidable.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2018